package com.qfjy.service;

import com.qfjy.entity.po.User;
import com.qfjy.entity.vo.UserVO;
import com.qfjy.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

public interface UserService {

    /**
     * 查询所有用户列表数据
     */
    List<User> selectList();
    /**
     * 批量添加
     */
    int insertBatchUsers(List<User> users);

    /**
     * todo 单行删除 根据ID进行删除
     * @param id
     * @return
     */
    int deleteById(Integer id);


    /**
     * todo 批量删除
     * @param userIds
     * @return
     */
    int deleteBatch(Integer userIds[]);


    /**
     * 更改状态 (有效|无效)
     */
    @Update("update user set status=#{status} where id = #{id}")
    int updateUserStatusById(int status, int id);

    /**
     * todo 用户列表 条件查询
     */
    List<User> listCondition(UserVO userVO);

    /**
     * todo 根据wid查询user
     */
    public User selectUserByWid(int wid);

    /**
     * 根据邮箱更新wid
     * @param wid
     * @param email
     * @return
     */
    int updateUserWidByEmail(String wid,String email);

    /**
     * 根据邮箱查询用户
     * @param email
     * @return
     */
    User getUserByEmail(String email);

    /**
     * dodo 用户个人信息的更新
     */
    int updateByPrimaryKeySelective(User user);

    /**
     * todo 我的会议列表
     */
    List<User> selectUserByMeetingGrabPid(String pid);

}
